package com.iring.util.common;

import org.springframework.stereotype.Component;

import cn.songxinqiang.stool.code.BCrypt;

/**
 * 用户密码处理辅助工具
 *
 * @author 阿信sxq
 */
@Component
public class PasswordEncoderUtil {
    /**
     * 对密码进行加密处理，使用默认的盐
     *
     * @param password
     *            密码原文
     * @return 加密处理后的密码字符串
     */
    public String encodePassword(String password) {
        return BCrypt.hashpw(password, BCrypt.gensalt());
    }

    /**
     * 检测密码是否匹配
     *
     * @param plaintext
     *            密码原文
     * @param hashed
     *            加密后密码
     * @return 匹配返回true，不匹配返回false
     */
    public Boolean checkPassword(String plaintext, String hashed) {
        return BCrypt.checkpw(plaintext, hashed);
    }

}
